package com.ccc.dingtalk.constant;

/**
 * 数据来源枚举类
 *
 *
 * @author superC
 * @version 1.0.0
 * @date 2023-08-08
 */

public enum SourceTypeEnum {

    /**
     * 数据来源：
     *
     * ATM：考勤机打卡（指纹/人脸打卡）
     * BEACON：IBeacon
     * DING_ATM：钉钉考勤机（考勤机蓝牙打卡）
     * USER：用户打卡
     * BOSS：老板改签
     * APPROVE：审批系统
     * SYSTEM：考勤系统
     * AUTO_CHECK：自动打卡
     */

    ATM("ATM", "考勤机打卡"),

    BEACON("BEACON", "IBeacon"),

    DING_ATM("DING_ATM", "钉钉考勤机"),

    USER("USER", "用户打卡"),

    BOSS("BOSS", "老板改签"),

    APPROVE("APPROVE", "审批系统"),

    SYSTEM("SYSTEM", "考勤系统"),

    AUTO_CHECK("AUTO_CHECK", "自动打卡")

    ;

    /**
     * 英文标识
     */
    private final String mark;

    /**
     * 中文显示
     */
    private final String label;

    SourceTypeEnum(String mark, String label) {
        this.mark = mark;
        this.label = label;
    }

    public String getMark() {
        return mark;
    }

    public String getLabel() {
        return label;
    }

    public static String getLabel(String mark) {
        for (SourceTypeEnum item : SourceTypeEnum.values()) {
            if (item.getMark().equals(mark)) {
                return item.getLabel();
            }
        }
        return SourceTypeEnum.USER.getLabel();
    }
}
